|
''Feature Oriented Software Development (FOSD)'' is a general paradigm for program synthesis in software product lines, where a model of a product line is a tuple of 0-ary and 1-ary functions (program transformations). This page discusses a more abstract concept of models of product lines of product lines (PL * *2) called ''metamodels'', and product lines of product lines of product lines called ''meta-metamodels'' (PL * *3), and higher level concepts. == MetaModels == A ''meta-model'' is a model whose instances are models. A GenVoca model of a product line is a tuple whose components are features (0-ary or 1-ary functions). A refinement (delta) of a model is a "meta-feature", which is a tuple of deltas that can modify existing features and can add new features. As a simple example, consider GenVoca model M that contains three features a-c: M = (a, b, c ) Suppose meta-model MM contains three meta-features AAA-CCC, each of which is a tuple with a single non-identity feature: MM = (AAA, BBB, CCC ) = , () ] where 1 is the identity function (i.e., a feature or feature refinement that does nothing). Model M is defined by the following expression (composition of meta-features) using meta-model MM: M = AAA • BBB • CCC—expression = ()•()•() -- substitution = (1•b•1, 1•1•c ) -- composition = () 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「FOSD metamodels」の詳細全文を読む スポンサード リンク
|